import Cookie from "js-cookie"
export default {
state:{
    isCollapse: false ,//菜单栏的收取
    tabList:[
       {
          path: "/home",
          name: "home",
          label: "首页",
          icon: "s-home",
          url: "MyHome/MYHome",
        },
    ], //面包屑相关
    menu:[

    ]
},
  mutations:{
    changeShow(state){
       state.isCollapse = !state.isCollapse
    },
    //修改更新面包屑数据
    selectMenu(state,val){
      console.log(val,'val')
      //判断添加的数据是否为首页
      if(val.name !== 'home'){
       const index = state.tabList.findIndex(item => item.name === val.name)
       if(index === -1){
        state.tabList.push(val)
       }
      }
    },
    //用来删除指定的 tag 数据
    closeTag(state,item){
      const index = state.tabList.findIndex(val => val.name === item.name)
      state.tabList.splice(index,1)
    },

    setMenu(state ,val){
      state.menu = val
      Cookie.set('menu',JSON.stringify(val))
    },
    //动态注册路由
    addMenu(state, router) {
    // 从Cookie获取菜单数据（登录时已保存）
    if (!Cookie.get('menu')) return
    const menu = JSON.parse(Cookie.get('menu'))
    state.menu = menu

    // 处理菜单数据，生成路由配置
    const menuArray = []
    menu.forEach(item => {
      if (item.children) {
        // 有子菜单的情况，递归处理
        item.children = item.children.map(subItem => {
          // 动态设置组件（懒加载）
          subItem.component = () => import(`../view/${subItem.url}`)
          return subItem
        })
        menuArray.push(...item.children)
      } else {
        // 无子菜单的情况
        item.component = () => import(`../view/${item.url}`)
        menuArray.push(item)
      }
    })

    // 动态注册路由（添加到Main父路由下）
    menuArray.forEach(item => {
      router.addRoute('Main', item) // 'Main'是父路由的name
    })
  }

  }
}